Skip to main content

Déploiement VPN IKEv2/IPsec Post-Quantique sur Cisco C8000V

Ce guide détaille la mise en place d'une architecture VPN IKEv2/IPsec classique, suivie de sa transition vers une protection post-quantique à l'aide de la fonctionnalité PPK (Post-quantum Preshared Key), dans un environnement d'émulation EVE-NG.

1. Préparation et Installation dans EVE-NG

L'image utilisée est un routeur Cisco Catalyst 8000V (ex: c8000v-universalk9_8G_serial.17.16.01a.qcow2 téléchargeable sous ce lien : https://drop.ui.com/c08d0e4e-08fb-45e8-acda-32db751d78e8).

1.1 Intégration de l'image

Connectez-vous en SSH à votre serveur EVE-NG et exécutez les commandes suivantes :

# Création du répertoire (adaptez la version si nécessaire)
mkdir /opt/unetlab/addons/qemu/c8000v-17.06.02
cd /opt/unetlab/addons/qemu/c8000v-17.06.02

# Transférez votre fichier .qcow2 dans ce dossier via SFTP, puis renommez-le :
mv c8000v-universalk9_8G_serial.17.16.01a.qcow2 virtioa.qcow2

# Application des permissions
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Résolution des crashs VMware (Erreur 0x80000003)

Le Catalyst 8000V exige une virtualisation imbriquée parfaite. Si votre nœud crash au démarrage sous Windows :

  1. Ouvrez une invite de commandes en mode Administrateur.
  2. Exécutez : bcdedit /set hypervisorlaunchtype off
  3. Redémarrez obligatoirement le PC physique.

2. Préparation Initiale des Routeurs

Avant de configurer le VPN, il est nécessaire d'activer les licences cryptographiques sur les routeurs R1 et R2.

COnfiguration du routeur

Au redémarrage, configurez un mot de passe enable secret conforme (ex: Admin123456!) lorsqu'il vous est demandé.

configure terminal
license boot level network-advantage addon dna-advantage
end
write memory
reload

3. Laboratoire 1 : Socle de Référence (VPN IKEv2/IPsec classique)

Ce laboratoire met en place le tunnel IPsec de base avec une authentification par clé pré-partagée (PSK).

Configuration de R1

configure terminal
hostn R1

! Configuration des interfaces
interface GigabitEthernet1
ip address 1.1.1.1 255.255.255.252
no shutdown
exit

interface Loopback110
ip address 10.10.10.1 255.255.255.255
exit

! Configuration IKEv2
crypto ikev2 keyring KR_IKEV2
peer R2
address 1.1.1.2
pre-shared-key cisco123
exit

crypto ikev2 profile PROF_IKEV2
match identity remote address 1.1.1.2 255.255.255.255
authentication local pre-share
authentication remote pre-share
keyring local KR_IKEV2
exit

! Configuration IPsec
crypto ipsec transform-set TS_IPSEC esp-aes 256 esp-sha256-hmac
mode tunnel
exit

crypto ipsec profile PROF_IPSEC
set transform-set TS_IPSEC
set ikev2-profile PROF_IKEV2
exit

! Interface Tunnel VTI
interface Tunnel0
ip address 10.255.0.1 255.255.255.252
tunnel source GigabitEthernet1
tunnel destination 1.1.1.2
tunnel mode ipsec ipv4
tunnel protection ipsec profile PROF_IPSEC
exit

! Routage
ip route 10.20.20.1 255.255.255.255 Tunnel0
end
write memory

Configuration de R2

configure terminal
hostn R2

! Configuration des interfaces
interface GigabitEthernet1
ip address 1.1.1.2 255.255.255.252
no shutdown
exit

interface Loopback120
ip address 10.20.20.1 255.255.255.255
exit

! Configuration IKEv2
crypto ikev2 keyring KR_IKEV2
peer R1
address 1.1.1.1
pre-shared-key cisco123
exit

crypto ikev2 profile PROF_IKEV2
match identity remote address 1.1.1.1 255.255.255.255
authentication local pre-share
authentication remote pre-share
keyring local KR_IKEV2
exit

! Configuration IPsec
crypto ipsec transform-set TS_IPSEC esp-aes 256 esp-sha256-hmac
mode tunnel
exit

crypto ipsec profile PROF_IPSEC
set transform-set TS_IPSEC
set ikev2-profile PROF_IKEV2
exit

! Interface Tunnel VTI
interface Tunnel0
ip address 10.255.0.2 255.255.255.252
tunnel source GigabitEthernet1
tunnel destination 1.1.1.1
tunnel mode ipsec ipv4
tunnel protection ipsec profile PROF_IPSEC
exit

! Routage
ip route 10.10.10.1 255.255.255.255 Tunnel0
end
write memory

Vérification du Lab 1

Générez du trafic depuis R1 pour monter le tunnel, puis vérifiez son état :

ping 10.20.20.1 source 10.10.10.1
show crypto ikev2 sa

L'état de la SA doit indiquer READY.


4. Laboratoire 2 : Ajout d'un PPK Manuel (Transition quantum-safe)

Ajout d'une Post-quantum Preshared Key (PPK) en surcouche au profil existant.

Sur R1

configure terminal
crypto ikev2 keyring ppk PPK-KR
peer R2
ppk manual id LAB-PQ key LabPQ2026
exit
exit

crypto ikev2 profile PROF_IKEV2
keyring ppk PPK-KR
end
write memory

Sur R2

configure terminal
crypto ikev2 keyring ppk PPK-KR
peer R1
ppk manual id LAB-PQ key LabPQ2026
exit
exit

crypto ikev2 profile PROF_IKEV2
keyring ppk PPK-KR
end
write memory

Vérification du Lab 2

Forcez la renégociation du tunnel pour appliquer la protection post-quantique :

! Sur R1 :
clear crypto sa
clear crypto ikev2 sa
ping 10.20.20.1 source 10.10.10.1

! Vérification détaillée :
show crypto ikev2 sa detailed
Résultat attendu

Le trafic est inchangé, mais la sortie détaillée de la commande show confirme l'intégration de la clé quantique dans la dérivation des secrets de session.

Ajout du PPK Obligatoire

L'objectif de ce laboratoire est de passer d'un renforcement optionnel à une politique stricte (enforcement). Il n'y a plus de fallback autorisé : le tunnel IKEv2 ne doit s'établir que si la clé PPK est strictement identique et configurée des deux côtés.

configure terminal
crypto ikev2 keyring PPK-KR
peer R2
address 172.16.12.2
ppk manual id LAB-PQ key LabPQ2026 required
exit
exit

! Relance de l'interface virtuelle pour appliquer la politique
interface Tunnel0
shutdown
no shutdown
end
write memory
configure terminal
crypto ikev2 keyring PPK-KR
peer R1
address 172.16.12.1
ppk manual id LAB-PQ key LabPQ2026 required
exit
exit

! Relance de l'interface virtuelle pour appliquer la politique
interface Tunnel0
shutdown
no shutdown
end
write memory